home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 October: Mac OS SDK / Dev.CD Oct 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / CIncludes / Icons.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-08-12  |  17.6 KB  |  535 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Icons.h
  3.  
  4.      Contains:    Icon Utilities Interfaces.
  5.  
  6.      Version:    Technology:    System 8
  7.                  Release:    Universal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1990-1997 by Apple Computer, Inc. All rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __ICONS__
  19. #define __ICONS__
  20.  
  21. #ifndef __TYPES__
  22. #include <Types.h>
  23. #endif
  24. #ifndef __QUICKDRAW__
  25. #include <Quickdraw.h>
  26. #endif
  27.  
  28.  
  29.  
  30. #if PRAGMA_ONCE
  31. #pragma once
  32. #endif
  33.  
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37.  
  38. #if PRAGMA_IMPORT
  39. #pragma import on
  40. #endif
  41.  
  42. #if PRAGMA_STRUCT_ALIGN
  43.     #pragma options align=mac68k
  44. #elif PRAGMA_STRUCT_PACKPUSH
  45.     #pragma pack(push, 2)
  46. #elif PRAGMA_STRUCT_PACK
  47.     #pragma pack(2)
  48. #endif
  49.  
  50.  
  51. enum {
  52.                                                                 /* The following are icons for which there are both icon suites and SICNs. */
  53.     kGenericDocumentIconResource = -4000,
  54.     kGenericStationeryIconResource = -3985,
  55.     kGenericEditionFileIconResource = -3989,
  56.     kGenericApplicationIconResource = -3996,
  57.     kGenericDeskAccessoryIconResource = -3991,
  58.     kGenericFolderIconResource    = -3999,
  59.     kPrivateFolderIconResource    = -3994,
  60.     kFloppyIconResource            = -3998,
  61.     kTrashIconResource            = -3993,
  62.     kGenericRAMDiskIconResource    = -3988,
  63.     kGenericCDROMIconResource    = -3987,                        /* The following are icons for which there are SICNs only. */
  64.     kDesktopIconResource        = -3992,
  65.     kOpenFolderIconResource        = -3997,
  66.     kGenericHardDiskIconResource = -3995,
  67.     kGenericFileServerIconResource = -3972,
  68.     kGenericSuitcaseIconResource = -3970,
  69.     kGenericMoverObjectIconResource = -3969,                    /* The following are icons for which there are icon suites only. */
  70.     kGenericPreferencesIconResource = -3971,
  71.     kGenericQueryDocumentIconResource = -16506,
  72.     kGenericExtensionIconResource = -16415,
  73.     kSystemFolderIconResource    = -3983,
  74.     kAppleMenuFolderIconResource = -3982
  75. };
  76.  
  77.  
  78. enum {
  79.                                                                 /* Obsolete. Use named constants defined above. */
  80.     genericDocumentIconResource    = kGenericDocumentIconResource,
  81.     genericStationeryIconResource = kGenericStationeryIconResource,
  82.     genericEditionFileIconResource = kGenericEditionFileIconResource,
  83.     genericApplicationIconResource = kGenericApplicationIconResource,
  84.     genericDeskAccessoryIconResource = kGenericDeskAccessoryIconResource,
  85.     genericFolderIconResource    = kGenericFolderIconResource,
  86.     privateFolderIconResource    = kPrivateFolderIconResource,
  87.     floppyIconResource            = kFloppyIconResource,
  88.     trashIconResource            = kPrivateFolderIconResource,
  89.     genericRAMDiskIconResource    = kGenericRAMDiskIconResource,
  90.     genericCDROMIconResource    = kGenericCDROMIconResource,
  91.     desktopIconResource            = kDesktopIconResource,
  92.     openFolderIconResource        = kOpenFolderIconResource,
  93.     genericHardDiskIconResource    = kGenericHardDiskIconResource,
  94.     genericFileServerIconResource = kGenericFileServerIconResource,
  95.     genericSuitcaseIconResource    = kGenericSuitcaseIconResource,
  96.     genericMoverObjectIconResource = kGenericMoverObjectIconResource,
  97.     genericPreferencesIconResource = kGenericPreferencesIconResource,
  98.     genericQueryDocumentIconResource = kGenericQueryDocumentIconResource,
  99.     genericExtensionIconResource = kGenericExtensionIconResource,
  100.     systemFolderIconResource    = kSystemFolderIconResource,
  101.     appleMenuFolderIconResource    = kAppleMenuFolderIconResource
  102. };
  103.  
  104.  
  105. enum {
  106.     kStartupFolderIconResource    = -3981,
  107.     kOwnedFolderIconResource    = -3980,
  108.     kDropFolderIconResource        = -3979,
  109.     kSharedFolderIconResource    = -3978,
  110.     kMountedFolderIconResource    = -3977,
  111.     kControlPanelFolderIconResource = -3976,
  112.     kPrintMonitorFolderIconResource = -3975,
  113.     kPreferencesFolderIconResource = -3974,
  114.     kExtensionsFolderIconResource = -3973,
  115.     kFontsFolderIconResource    = -3968,
  116.     kFullTrashIconResource        = -3984
  117. };
  118.  
  119.  
  120. enum {
  121.                                                                 /* Obsolete. Use named constants defined above. */
  122.     startupFolderIconResource    = kStartupFolderIconResource,
  123.     ownedFolderIconResource        = kOwnedFolderIconResource,
  124.     dropFolderIconResource        = kDropFolderIconResource,
  125.     sharedFolderIconResource    = kSharedFolderIconResource,
  126.     mountedFolderIconResource    = kMountedFolderIconResource,
  127.     controlPanelFolderIconResource = kControlPanelFolderIconResource,
  128.     printMonitorFolderIconResource = kPrintMonitorFolderIconResource,
  129.     preferencesFolderIconResource = kPreferencesFolderIconResource,
  130.     extensionsFolderIconResource = kExtensionsFolderIconResource,
  131.     fontsFolderIconResource        = kFontsFolderIconResource,
  132.     fullTrashIconResource        = kFullTrashIconResource
  133. };
  134.  
  135.  
  136. enum {
  137.     kLarge1BitMask                = FOUR_CHAR_CODE('ICN#'),
  138.     kLarge4BitData                = FOUR_CHAR_CODE('icl4'),
  139.     kLarge8BitData                = FOUR_CHAR_CODE('icl8'),
  140.     kSmall1BitMask                = FOUR_CHAR_CODE('ics#'),
  141.     kSmall4BitData                = FOUR_CHAR_CODE('ics4'),
  142.     kSmall8BitData                = FOUR_CHAR_CODE('ics8'),
  143.     kMini1BitMask                = FOUR_CHAR_CODE('icm#'),
  144.     kMini4BitData                = FOUR_CHAR_CODE('icm4'),
  145.     kMini8BitData                = FOUR_CHAR_CODE('icm8')
  146. };
  147.  
  148.  
  149. enum {
  150.                                                                 /* Obsolete. Use names defined above. */
  151.     large1BitMask                = kLarge1BitMask,
  152.     large4BitData                = kLarge4BitData,
  153.     large8BitData                = kLarge8BitData,
  154.     small1BitMask                = kSmall1BitMask,
  155.     small4BitData                = kSmall4BitData,
  156.     small8BitData                = kSmall8BitData,
  157.     mini1BitMask                = kMini1BitMask,
  158.     mini4BitData                = kMini4BitData,
  159.     mini8BitData                = kMini8BitData
  160. };
  161.  
  162. /*  alignment type values */
  163.  
  164. enum {
  165.     kAlignNone                    = 0x00,
  166.     kAlignVerticalCenter        = 0x01,
  167.     kAlignTop                    = 0x02,
  168.     kAlignBottom                = 0x03,
  169.     kAlignHorizontalCenter        = 0x04,
  170.     kAlignAbsoluteCenter        = kAlignVerticalCenter | kAlignHorizontalCenter,
  171.     kAlignCenterTop                = kAlignTop | kAlignHorizontalCenter,
  172.     kAlignCenterBottom            = kAlignBottom | kAlignHorizontalCenter,
  173.     kAlignLeft                    = 0x08,
  174.     kAlignCenterLeft            = kAlignVerticalCenter | kAlignLeft,
  175.     kAlignTopLeft                = kAlignTop | kAlignLeft,
  176.     kAlignBottomLeft            = kAlignBottom | kAlignLeft,
  177.     kAlignRight                    = 0x0C,
  178.     kAlignCenterRight            = kAlignVerticalCenter | kAlignRight,
  179.     kAlignTopRight                = kAlignTop | kAlignRight,
  180.     kAlignBottomRight            = kAlignBottom | kAlignRight
  181. };
  182.  
  183.  
  184. enum {
  185.                                                                 /* Obsolete. Use names defined above. */
  186.     atNone                        = kAlignNone,
  187.     atVerticalCenter            = kAlignVerticalCenter,
  188.     atTop                        = kAlignTop,
  189.     atBottom                    = kAlignBottom,
  190.     atHorizontalCenter            = kAlignHorizontalCenter,
  191.     atAbsoluteCenter            = kAlignAbsoluteCenter,
  192.     atCenterTop                    = kAlignCenterTop,
  193.     atCenterBottom                = kAlignCenterBottom,
  194.     atLeft                        = kAlignLeft,
  195.     atCenterLeft                = kAlignCenterLeft,
  196.     atTopLeft                    = kAlignTopLeft,
  197.     atBottomLeft                = kAlignBottomLeft,
  198.     atRight                        = kAlignRight,
  199.     atCenterRight                = kAlignCenterRight,
  200.     atTopRight                    = kAlignTopRight,
  201.     atBottomRight                = kAlignBottomRight
  202. };
  203.  
  204. typedef SInt16                             IconAlignmentType;
  205. /*  transform type values  */
  206.  
  207. enum {
  208.     kTransformNone                = 0x00,
  209.     kTransformDisabled            = 0x01,
  210.     kTransformOffline            = 0x02,
  211.     kTransformOpen                = 0x03,
  212.     kTransformLabel1            = 0x0100,
  213.     kTransformLabel2            = 0x0200,
  214.     kTransformLabel3            = 0x0300,
  215.     kTransformLabel4            = 0x0400,
  216.     kTransformLabel5            = 0x0500,
  217.     kTransformLabel6            = 0x0600,
  218.     kTransformLabel7            = 0x0700,
  219.     kTransformSelected            = 0x4000,
  220.     kTransformSelectedDisabled    = kTransformSelected | kTransformDisabled,
  221.     kTransformSelectedOffline    = kTransformSelected | kTransformOffline,
  222.     kTransformSelectedOpen        = kTransformSelected | kTransformOpen
  223. };
  224.  
  225.  
  226. enum {
  227.                                                                 /* Obsolete. Use names defined above. */
  228.     ttNone                        = kTransformNone,
  229.     ttDisabled                    = kTransformDisabled,
  230.     ttOffline                    = kTransformOffline,
  231.     ttOpen                        = kTransformOpen,
  232.     ttLabel1                    = kTransformLabel1,
  233.     ttLabel2                    = kTransformLabel2,
  234.     ttLabel3                    = kTransformLabel3,
  235.     ttLabel4                    = kTransformLabel4,
  236.     ttLabel5                    = kTransformLabel5,
  237.     ttLabel6                    = kTransformLabel6,
  238.     ttLabel7                    = kTransformLabel7,
  239.     ttSelected                    = kTransformSelected,
  240.     ttSelectedDisabled            = kTransformSelectedDisabled,
  241.     ttSelectedOffline            = kTransformSelectedOffline,
  242.     ttSelectedOpen                = kTransformSelectedOpen
  243. };
  244.  
  245. typedef SInt16                             IconTransformType;
  246. /*  Selector mask values  */
  247.  
  248. enum {
  249.     kSelectorLarge1Bit            = 0x00000001,
  250.     kSelectorLarge4Bit            = 0x00000002,
  251.     kSelectorLarge8Bit            = 0x00000004,
  252.     kSelectorSmall1Bit            = 0x00000100,
  253.     kSelectorSmall4Bit            = 0x00000200,
  254.     kSelectorSmall8Bit            = 0x00000400,
  255.     kSelectorMini1Bit            = 0x00010000,
  256.     kSelectorMini4Bit            = 0x00020000,
  257.     kSelectorMini8Bit            = 0x00040000,
  258.     kSelectorAllLargeData        = 0x000000FF,
  259.     kSelectorAllSmallData        = 0x0000FF00,
  260.     kSelectorAllMiniData        = 0x00FF0000,
  261.     kSelectorAll1BitData        = kSelectorLarge1Bit | kSelectorSmall1Bit | kSelectorMini1Bit,
  262.     kSelectorAll4BitData        = kSelectorLarge4Bit | kSelectorSmall4Bit | kSelectorMini4Bit,
  263.     kSelectorAll8BitData        = kSelectorLarge8Bit | kSelectorSmall8Bit | kSelectorMini8Bit,
  264.     kSelectorAllAvailableData    = (long)0xFFFFFFFF
  265. };
  266.  
  267.  
  268. enum {
  269.                                                                 /* Obsolete. Use names defined above. */
  270.     svLarge1Bit                    = kSelectorLarge1Bit,
  271.     svLarge4Bit                    = kSelectorLarge4Bit,
  272.     svLarge8Bit                    = kSelectorLarge8Bit,
  273.     svSmall1Bit                    = kSelectorSmall1Bit,
  274.     svSmall4Bit                    = kSelectorSmall4Bit,
  275.     svSmall8Bit                    = kSelectorSmall8Bit,
  276.     svMini1Bit                    = kSelectorMini1Bit,
  277.     svMini4Bit                    = kSelectorMini4Bit,
  278.     svMini8Bit                    = kSelectorMini8Bit,
  279.     svAllLargeData                = kSelectorAllLargeData,
  280.     svAllSmallData                = kSelectorAllSmallData,
  281.     svAllMiniData                = kSelectorAllMiniData,
  282.     svAll1BitData                = kSelectorAll1BitData,
  283.     svAll4BitData                = kSelectorAll4BitData,
  284.     svAll8BitData                = kSelectorAll8BitData,
  285.     svAllAvailableData            = kSelectorAllAvailableData
  286. };
  287.  
  288. typedef UInt32                             IconSelectorValue;
  289. typedef CALLBACK_API( OSErr , IconActionProcPtr )(ResType theType, Handle *theIcon, void *yourDataPtr);
  290. typedef STACK_UPP_TYPE(IconActionProcPtr)                         IconActionUPP;
  291. enum { uppIconActionProcInfo = 0x00000FE0 };                     /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
  292. #define NewIconActionProc(userRoutine)                             (IconActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconActionProcInfo, GetCurrentArchitecture())
  293. #define CallIconActionProc(userRoutine, theType, theIcon, yourDataPtr)  CALL_THREE_PARAMETER_UPP((userRoutine), uppIconActionProcInfo, (theType), (theIcon), (yourDataPtr))
  294. typedef IconActionProcPtr                 IconAction;
  295. typedef CALLBACK_API( Handle , IconGetterProcPtr )(ResType theType, void *yourDataPtr);
  296. typedef STACK_UPP_TYPE(IconGetterProcPtr)                         IconGetterUPP;
  297. enum { uppIconGetterProcInfo = 0x000003F0 };                     /* pascal 4_bytes Func(4_bytes, 4_bytes) */
  298. #define NewIconGetterProc(userRoutine)                             (IconGetterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconGetterProcInfo, GetCurrentArchitecture())
  299. #define CallIconGetterProc(userRoutine, theType, yourDataPtr)     CALL_TWO_PARAMETER_UPP((userRoutine), uppIconGetterProcInfo, (theType), (yourDataPtr))
  300. typedef IconGetterProcPtr                 IconGetter;
  301. #if !OLDROUTINELOCATIONS
  302. struct CIcon {
  303.     PixMap                             iconPMap;                    /*the icon's pixMap*/
  304.     BitMap                             iconMask;                    /*the icon's mask*/
  305.     BitMap                             iconBMap;                    /*the icon's bitMap*/
  306.     Handle                             iconData;                    /*the icon's data*/
  307.     SInt16                             iconMaskData[1];            /*icon's mask and BitMap data*/
  308. };
  309. typedef struct CIcon CIcon;
  310.  
  311. typedef CIcon *                            CIconPtr;
  312. typedef CIconPtr *                        CIconHandle;
  313. EXTERN_API( CIconHandle )
  314. GetCIcon                        (SInt16                 iconID)                                ONEWORDINLINE(0xAA1E);
  315.  
  316. EXTERN_API( void )
  317. PlotCIcon                        (const Rect *            theRect,
  318.                                  CIconHandle             theIcon)                            ONEWORDINLINE(0xAA1F);
  319.  
  320. EXTERN_API( void )
  321. DisposeCIcon                    (CIconHandle             theIcon)                            ONEWORDINLINE(0xAA25);
  322.  
  323. #endif  /*  !OLDROUTINELOCATIONS */
  324.  
  325. EXTERN_API( Handle )
  326. GetIcon                            (SInt16                 iconID)                                ONEWORDINLINE(0xA9BB);
  327.  
  328. EXTERN_API( void )
  329. PlotIcon                        (const Rect *            theRect,
  330.                                  Handle                 theIcon)                            ONEWORDINLINE(0xA94B);
  331.  
  332.  
  333.  
  334. /*
  335.     Note:    IconSuiteRef and IconCacheRef should be an abstract types, 
  336.             but too much source code already relies on them being of type Handle.
  337. */
  338. typedef Handle                             IconSuiteRef;
  339. typedef Handle                             IconCacheRef;
  340.  
  341. EXTERN_API( OSErr )
  342. PlotIconID                        (const Rect *            theRect,
  343.                                  IconAlignmentType         align,
  344.                                  IconTransformType         transform,
  345.                                  SInt16                 theResID)                            THREEWORDINLINE(0x303C, 0x0500, 0xABC9);
  346.  
  347. EXTERN_API( OSErr )
  348. NewIconSuite                    (IconSuiteRef *            theIconSuite)                        THREEWORDINLINE(0x303C, 0x0207, 0xABC9);
  349.  
  350. EXTERN_API( OSErr )
  351. AddIconToSuite                    (Handle                 theIconData,
  352.                                  IconSuiteRef             theSuite,
  353.                                  ResType                 theType)                            THREEWORDINLINE(0x303C, 0x0608, 0xABC9);
  354.  
  355. EXTERN_API( OSErr )
  356. GetIconFromSuite                (Handle *                theIconData,
  357.                                  IconSuiteRef             theSuite,
  358.                                  ResType                 theType)                            THREEWORDINLINE(0x303C, 0x0609, 0xABC9);
  359.  
  360. EXTERN_API( OSErr )
  361. ForEachIconDo                    (IconSuiteRef             theSuite,
  362.                                  IconSelectorValue         selector,
  363.                                  IconActionUPP             action,
  364.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x080A, 0xABC9);
  365.  
  366. EXTERN_API( OSErr )
  367. GetIconSuite                    (IconSuiteRef *            theIconSuite,
  368.                                  SInt16                 theResID,
  369.                                  IconSelectorValue         selector)                            THREEWORDINLINE(0x303C, 0x0501, 0xABC9);
  370.  
  371. EXTERN_API( OSErr )
  372. DisposeIconSuite                (IconSuiteRef             theIconSuite,
  373.                                  Boolean                 disposeData)                        THREEWORDINLINE(0x303C, 0x0302, 0xABC9);
  374.  
  375. EXTERN_API( OSErr )
  376. PlotIconSuite                    (const Rect *            theRect,
  377.                                  IconAlignmentType         align,
  378.                                  IconTransformType         transform,
  379.                                  IconSuiteRef             theIconSuite)                        THREEWORDINLINE(0x303C, 0x0603, 0xABC9);
  380.  
  381. EXTERN_API( OSErr )
  382. MakeIconCache                    (IconCacheRef *            theCache,
  383.                                  IconGetterUPP             makeIcon,
  384.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0604, 0xABC9);
  385.  
  386. EXTERN_API( OSErr )
  387. LoadIconCache                    (const Rect *            theRect,
  388.                                  IconAlignmentType         align,
  389.                                  IconTransformType         transform,
  390.                                  IconCacheRef             theIconCache)                        THREEWORDINLINE(0x303C, 0x0606, 0xABC9);
  391.  
  392. EXTERN_API( OSErr )
  393. PlotIconMethod                    (const Rect *            theRect,
  394.                                  IconAlignmentType         align,
  395.                                  IconTransformType         transform,
  396.                                  IconGetterUPP             theMethod,
  397.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0805, 0xABC9);
  398.  
  399. EXTERN_API( OSErr )
  400. GetLabel                        (SInt16                 labelNumber,
  401.                                  RGBColor *                labelColor,
  402.                                  Str255                 labelString)                        THREEWORDINLINE(0x303C, 0x050B, 0xABC9);
  403.  
  404. EXTERN_API( Boolean )
  405. PtInIconID                        (Point                     testPt,
  406.                                  const Rect *            iconRect,
  407.                                  IconAlignmentType         align,
  408.                                  SInt16                 iconID)                                THREEWORDINLINE(0x303C, 0x060D, 0xABC9);
  409.  
  410. EXTERN_API( Boolean )
  411. PtInIconSuite                    (Point                     testPt,
  412.                                  const Rect *            iconRect,
  413.                                  IconAlignmentType         align,
  414.                                  IconSuiteRef             theIconSuite)                        THREEWORDINLINE(0x303C, 0x070E, 0xABC9);
  415.  
  416. EXTERN_API( Boolean )
  417. PtInIconMethod                    (Point                     testPt,
  418.                                  const Rect *            iconRect,
  419.                                  IconAlignmentType         align,
  420.                                  IconGetterUPP             theMethod,
  421.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x090F, 0xABC9);
  422.  
  423. EXTERN_API( Boolean )
  424. RectInIconID                    (const Rect *            testRect,
  425.                                  const Rect *            iconRect,
  426.                                  IconAlignmentType         align,
  427.                                  SInt16                 iconID)                                THREEWORDINLINE(0x303C, 0x0610, 0xABC9);
  428.  
  429. EXTERN_API( Boolean )
  430. RectInIconSuite                    (const Rect *            testRect,
  431.                                  const Rect *            iconRect,
  432.                                  IconAlignmentType         align,
  433.                                  IconSuiteRef             theIconSuite)                        THREEWORDINLINE(0x303C, 0x0711, 0xABC9);
  434.  
  435. EXTERN_API( Boolean )
  436. RectInIconMethod                (const Rect *            testRect,
  437.                                  const Rect *            iconRect,
  438.                                  IconAlignmentType         align,
  439.                                  IconGetterUPP             theMethod,
  440.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0912, 0xABC9);
  441.  
  442. EXTERN_API( OSErr )
  443. IconIDToRgn                        (RgnHandle                 theRgn,
  444.                                  const Rect *            iconRect,
  445.                                  IconAlignmentType         align,
  446.                                  SInt16                 iconID)                                THREEWORDINLINE(0x303C, 0x0613, 0xABC9);
  447.  
  448. EXTERN_API( OSErr )
  449. IconSuiteToRgn                    (RgnHandle                 theRgn,
  450.                                  const Rect *            iconRect,
  451.                                  IconAlignmentType         align,
  452.                                  IconSuiteRef             theIconSuite)                        THREEWORDINLINE(0x303C, 0x0714, 0xABC9);
  453.  
  454. EXTERN_API( OSErr )
  455. IconMethodToRgn                    (RgnHandle                 theRgn,
  456.                                  const Rect *            iconRect,
  457.                                  IconAlignmentType         align,
  458.                                  IconGetterUPP             theMethod,
  459.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0915, 0xABC9);
  460.  
  461. EXTERN_API( OSErr )
  462. SetSuiteLabel                    (IconSuiteRef             theSuite,
  463.                                  SInt16                 theLabel)                            THREEWORDINLINE(0x303C, 0x0316, 0xABC9);
  464.  
  465. EXTERN_API( SInt16 )
  466. GetSuiteLabel                    (IconSuiteRef             theSuite)                            THREEWORDINLINE(0x303C, 0x0217, 0xABC9);
  467.  
  468. EXTERN_API( OSErr )
  469. GetIconCacheData                (IconCacheRef             theCache,
  470.                                  void **                theData)                            THREEWORDINLINE(0x303C, 0x0419, 0xABC9);
  471.  
  472. EXTERN_API( OSErr )
  473. SetIconCacheData                (IconCacheRef             theCache,
  474.                                  void *                    theData)                            THREEWORDINLINE(0x303C, 0x041A, 0xABC9);
  475.  
  476. EXTERN_API( OSErr )
  477. GetIconCacheProc                (IconCacheRef             theCache,
  478.                                  IconGetterUPP *        theProc)                            THREEWORDINLINE(0x303C, 0x041B, 0xABC9);
  479.  
  480. EXTERN_API( OSErr )
  481. SetIconCacheProc                (IconCacheRef             theCache,
  482.                                  IconGetterUPP             theProc)                            THREEWORDINLINE(0x303C, 0x041C, 0xABC9);
  483.  
  484. EXTERN_API( OSErr )
  485. PlotIconHandle                    (const Rect *            theRect,
  486.                                  IconAlignmentType         align,
  487.                                  IconTransformType         transform,
  488.                                  Handle                 theIcon)                            THREEWORDINLINE(0x303C, 0x061D, 0xABC9);
  489.  
  490. EXTERN_API( OSErr )
  491. PlotSICNHandle                    (const Rect *            theRect,
  492.                                  IconAlignmentType         align,
  493.                                  IconTransformType         transform,
  494.                                  Handle                 theSICN)                            THREEWORDINLINE(0x303C, 0x061E, 0xABC9);
  495.  
  496. EXTERN_API( OSErr )
  497. PlotCIconHandle                    (const Rect *            theRect,
  498.                                  IconAlignmentType         align,
  499.                                  IconTransformType         transform,
  500.                                  CIconHandle             theCIcon)                            THREEWORDINLINE(0x303C, 0x061F, 0xABC9);
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515. #if PRAGMA_STRUCT_ALIGN
  516.     #pragma options align=reset
  517. #elif PRAGMA_STRUCT_PACKPUSH
  518.     #pragma pack(pop)
  519. #elif PRAGMA_STRUCT_PACK
  520.     #pragma pack()
  521. #endif
  522.  
  523. #ifdef PRAGMA_IMPORT_OFF
  524. #pragma import off
  525. #elif PRAGMA_IMPORT
  526. #pragma import reset
  527. #endif
  528.  
  529. #ifdef __cplusplus
  530. }
  531. #endif
  532.  
  533. #endif /* __ICONS__ */
  534.  
  535.